COMC=	asm.c audit.c bpts.c core.c dtype.c expr.c format.c frame.c \
	journal.c help.c lib.c master.c memory.c parse.c phrase.c process.c \
	sigmask.c srcdir.c srctext.c symbol.c symtab.c wd.c demangle.c
COMY=	gram.y
COMH=	asm.h audit.h bpts.h core.h dtype.h expr.h format.h \
	frame.h gram.h journal.h lib.h master.h memory.h mip.h \
	parse.h phrase.h process.h sigmask.h srcdir.h srctext.h symbol.h \
	symtab.h univ.h wd.h help.pi help.rtpi
HOSTC=	pi.c host.c
HOSTH=	host.h
RTC=	rtpi.c rt.c \
	coffsymtab.c sunossymtab.c sunos5symtab.c \
	mipssymtab.c ieeesymtab.c \
	dsp32asm.c dsp32core.c \
	mac32asm.c mac32core.c \
	m68kasm.c m68kcore.c \
	sparcasm.c sparccore.c \
	mipsasm.c mipsdisasm.c mipscore.c \
	i386asm.c i386core.c \
	dbmon.c dsp32dbmon.c mac32dbmon.c m68kdbmon.c \
	nrtx.c m68knrtx.c \
	unix.c unixwd.c unixconf.c
RTH=	rt.h \
	coff.h sunossymtab.h sunos5symtab.h \
	mipssymtab.h mipssym.h ieee.h ieeesymtab.h \
	dsp32asm.h dsp32core.h \
	mac32asm.h mac32core.h \
	m68kasm.h m68kcore.h \
	sparcasm.h sparccore.h \
	mipsasm.h mipscore.h \
	i386asm.h i386table.h i386core.h \
	dbmon.h dsp32dbmon.h mac32dbmon.h m68kdbmon.h \
	nrtx.h m68knrtx.h \
	unix.h

SUN3PICFILES= m68kasm.c m68kcore.c sunossymtab.c
SUN3PIHFILES= m68kasm.h m68kcore.h sunossymtab.h
LOCALCFILES = hostconf.c sun3osfunc.c

COMO=	asm.o audit.o bpts.o core.o dtype.o expr.o format.o frame.o \
	journal.o lib.o master.o memory.o parse.o phrase.o process.o \
	sigmask.o srcdir.o srctext.o symbol.o symtab.o wd.o demangle.o \
	gram.o
RTO=	rtpi.o rt.o rthelp.o \
	coffsymtab.o sunossymtab.o sunos5symtab.o \
	mipssymtab.o ieeesymtab.o \
	dsp32asm.o dsp32core.o \
	mac32asm.o mac32core.o \
	m68kasm.o m68kcore.o \
	sparcasm.o sparccore.o \
	mipsasm.o mipsdisasm.o mipscore.o \
	i386asm.o i386core.o \
	dbmon.o dsp32dbmon.o mac32dbmon.o m68kdbmon.o \
	nrtx.o m68knrtx.o \
	unix.o unixwd.o unixconf.o
PIO=	pi.o host.o help.o \
	m68kasm.o m68kcorep.o sunossymtab.o \
	hostconf.o sun3osfunc.o

PIOFILES= ${COMO} ${PIO}
RTOFILES= ${COMO} ${RTO}

# SRCFILES and HFILES are for make depend
SRCFILES= ${COMC} ${COMY} ${RTC} ${HOSTC} ${LOCALCFILES}
HFILES= ${COMH} ${RTH} ${HOSTH}

INC=	-I../../pads -I../include
CFLAGS=	${INC} -O
#CFLAGS=	${INC} -g
LIB=	../../pads/host/libpadsun3.a -Bstatic
RTLIB=	/usr/dak/rtmon/rt8/host/libdbsun3.a
CC=	CC
INSTALLDIR=/usr/jtools/bin.sun3x
INSTALLDIR2=/usr/local.1122/lib/jtools/xbin

all: pi rtpi

pi:	${PIOFILES}
	rm -f pi
	@echo 'char version[] = "Name:\tpi\nDate:\t'`date` \
	'\nHost:\t'`hostname`'\nUser:\t'`whoami`'\n";' > piv.c
	cc -c piv.c
	${CC} -o pi ${PIOFILES} piv.o ${LIB}

rtpi:	${RTOFILES}
	rm -f rtpi
	@echo 'char version[] = "Name:\trtpi\nDate:\t'`date` \
	'\nHost:\t'`hostname`'\nUser:\t'`whoami`'\n";' > rtpiv.c
	cc -c rtpiv.c
	${CC} -o rtpi ${RTOFILES} rtpiv.o ${RTLIB} ${LIB}

.c.o:
	${CC} -c ${CFLAGS} $*.c

rthelp.o: help.c help.pi help.rtpi
	${CC} -c ${CFLAGS} -DRTPI help.c
	mv help.o rthelp.o

m68kcorep.o: m68kcore.c
	${CC} -c -DSUN3PI ${CFLAGS} m68kcore.c
	mv m68kcore.o m68kcorep.o

mipsdisasm.o: mipsdisasm.c
	cc -c ${CFLAGS} $*.c

sun3osfunc.o: sun3osfunc.c
	cc -c ${CFLAGS} $*.c

gram.c:	gram.y
	yacc -d gram.y
	mv y.tab.c gram.c

y.tab.h: gram.c

install: pi rtpi
	rm -f ${INSTALLDIR}/pi ${INSTALLDIR}/rtpi
	cp pi rtpi ${INSTALLDIR}
	strip ${INSTALLDIR}/pi ${INSTALLDIR}/rtpi
	rm -f ${INSTALLDIR2}/pi ${INSTALLDIR2}/rtpi
	cp pi rtpi ${INSTALLDIR2}
	strip ${INSTALLDIR2}/pi ${INSTALLDIR2}/rtpi

clean:
	rm -f core *.o pi rtpi piv.c rtpiv.c gram.c y.tab.h \
	makedep eddep Makefile.bak

depend:
	grep '^#include' ${SRCFILES} ${HFILES} | grep -v '<' | \
	sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \
		-e 's/\.[cy]/.o/' \
		-e '/dbmonitor\/[a-z0-9]*\.h/d' \
		-e '/nrtx\/[a-z]*\.h/d' | \
	awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
		else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
			else rec = rec " " $$2 } } ; \
		END { print rec } ' > makedep
	@echo '$$r makedep' > eddep
	@echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >> eddep
	@echo '$$r makedep' >> eddep
	@echo w >>eddep
	cp Makefile Makefile.bak
	ed - Makefile < eddep
	rm eddep makedep

# DO NOT DELETE THIS LINE -- make depend uses it

asm.o: asm.h core.h format.h parse.h expr.h frame.h process.h symtab.h symbol.h
asm.o: bpts.h
audit.o: univ.h audit.h
bpts.o: univ.h core.h bpts.h symbol.h expr.h format.h process.h symtab.h
bpts.o: parse.h
core.o: process.h frame.h symtab.h symbol.h core.h master.h bpts.h
dtype.o: dtype.h symbol.h format.h mip.h phrase.h expr.h
expr.o: expr.h gram.h symbol.h format.h frame.h phrase.h symtab.h core.h
format.o: univ.h format.h symtab.h symbol.h
frame.o: frame.h core.h symbol.h symtab.h format.h expr.h phrase.h parse.h
frame.o: process.h bpts.h journal.h
journal.o: journal.h core.h format.h
help.o: help.rtpi help.pi
lib.o: lib.h
master.o: master.h process.h
memory.o: core.h symtab.h memory.h parse.h expr.h frame.h process.h format.h
memory.o: journal.h
parse.o: parse.h
phrase.o: expr.h phrase.h frame.h parse.h format.h symtab.h symbol.h core.h
phrase.o: process.h
process.o: frame.h core.h process.h srcdir.h expr.h master.h bpts.h memory.h
process.o: asm.h symtab.h symbol.h srctext.h format.h journal.h
sigmask.o: core.h master.h process.h srctext.h sigmask.h
srcdir.o: srcdir.h process.h symbol.h srctext.h symtab.h
srctext.o: symbol.h srctext.h core.h symtab.h process.h bpts.h expr.h format.h
srctext.o: frame.h
symbol.o: univ.h dtype.h symbol.h symtab.h srctext.h core.h process.h bpts.h
symbol.o: phrase.h parse.h format.h
symtab.o: symtab.h dtype.h symbol.h srctext.h phrase.h format.h core.h
wd.o: univ.h wd.h
demangle.o: univ.h
gram.o: gram.h expr.h bpts.h
rtpi.o: core.h master.h rt.h
rt.o: core.h process.h master.h rt.h dbmon.h m68kcore.h m68kdbmon.h dsp32core.h
rt.o: dsp32dbmon.h mac32core.h mac32dbmon.h nrtx.h m68knrtx.h unix.h
coffsymtab.o: symtab.h dtype.h symbol.h coff.h core.h
sunossymtab.o: symtab.h dtype.h symbol.h sunossymtab.h core.h
sunos5symtab.o: symtab.h dtype.h symbol.h sunossymtab.h sunos5symtab.h core.h
mipssymtab.o: symtab.h dtype.h symbol.h core.h mipssymtab.h
ieeesymtab.o: symtab.h dtype.h symbol.h ieeesymtab.h core.h ieee.h
dsp32asm.o: asm.h dsp32asm.h core.h format.h symbol.h
dsp32core.o: process.h frame.h symtab.h symbol.h core.h coff.h asm.h dsp32asm.h
dsp32core.o: dsp32core.h
mac32asm.o: asm.h mac32asm.h core.h format.h
mac32core.o: process.h frame.h symtab.h symbol.h core.h coff.h asm.h mac32asm.h
mac32core.o: mac32core.h
m68kasm.o: asm.h m68kasm.h format.h core.h
m68kcore.o: process.h frame.h symtab.h symbol.h core.h sunossymtab.h coff.h
m68kcore.o: ieeesymtab.h asm.h m68kasm.h m68kcore.h
sparcasm.o: asm.h sparcasm.h format.h core.h symbol.h
sparccore.o: process.h frame.h symtab.h symbol.h core.h sunossymtab.h
sparccore.o: sunos5symtab.h asm.h sparcasm.h sparccore.h
mipsasm.o: asm.h mipsasm.h core.h format.h
mipscore.o: process.h frame.h symtab.h symbol.h core.h mipssymtab.h asm.h
mipscore.o: bpts.h mipsasm.h mipscore.h
i386asm.o: univ.h asm.h i386asm.h core.h format.h i386table.h
i386core.o: process.h frame.h symtab.h symbol.h core.h coff.h asm.h i386asm.h
i386core.o: i386core.h
dbmon.o: core.h process.h master.h frame.h memory.h symtab.h symbol.h srcdir.h
dbmon.o: asm.h bpts.h rt.h dbmon.h
dsp32dbmon.o: core.h process.h master.h rt.h dbmon.h dsp32core.h dsp32dbmon.h
dsp32dbmon.o: symbol.h bpts.h
mac32dbmon.o: core.h process.h master.h rt.h dbmon.h mac32core.h mac32dbmon.h
m68kdbmon.o: core.h process.h master.h rt.h dbmon.h m68kcore.h m68kdbmon.h
nrtx.o: core.h process.h master.h sigmask.h frame.h memory.h symtab.h symbol.h
nrtx.o: srcdir.h asm.h bpts.h rt.h nrtx.h
m68knrtx.o: univ.h master.h process.h core.h rt.h nrtx.h dbmon.h m68kcore.h
m68knrtx.o: m68kdbmon.h m68knrtx.h
unix.o: core.h process.h master.h sigmask.h frame.h memory.h symtab.h symbol.h
unix.o: srcdir.h asm.h bpts.h rt.h unix.h
unixwd.o: core.h process.h master.h rt.h unix.h
unixconf.o: core.h process.h master.h sparccore.h m68kcore.h mipscore.h
unixconf.o: i386core.h rt.h unix.h
pi.o: core.h master.h process.h host.h
host.o: core.h process.h master.h sigmask.h frame.h memory.h symtab.h symbol.h
host.o: srcdir.h asm.h bpts.h expr.h host.h
hostconf.o: core.h process.h master.h m68kcore.h host.h
asm.h: univ.h
bpts.h: univ.h
core.h: univ.h
dtype.h: univ.h
expr.h: univ.h dtype.h format.h
format.h: univ.h
frame.h: univ.h
journal.h: univ.h
master.h: univ.h
memory.h: univ.h
parse.h: gram.h y.tab.h expr.h
phrase.h: univ.h
process.h: univ.h format.h
srcdir.h: univ.h
srctext.h: univ.h
symbol.h: univ.h dtype.h
symtab.h: univ.h mip.h
univ.h: lib.h
mipssymtab.h: mipssym.h
